// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.entity;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fowo.api.common.annotaion.*;
import com.fowo.api.common.mybatis.handlers.SysFileListTypeHandler;
import com.fowo.api.sys.entity.SysFile;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * PatrolManage
 */
@DS("ds24")
@Getter
@Setter
@TableName(value = "PatrolManage", autoResultMap = true)
@Schema(title = "巡场管理")
public class PatrolManage implements Serializable {

  /**
   * 编号
   */
  @TableField(value = "`id`")
  @TableId(type = IdType.ASSIGN_ID)
  @Schema(title = "编号")
  private Long id;

  /**
   * 供应商编号
   */
  @TableField(value = "`supplier_id`")
  @JoinField(Supplier2.class)
  @Schema(title = "供应商编号")
  private Long supplierId;

  /**
   * 供应商等级
   */
  @TableField(value = "`grade`")
  @Schema(title = "供应商等级")
  private String grade;

  /**
   * 状态 (0 - 待提交; 1 - 已完成; )
   */
  @TableField(value = "`state`")
  @Schema(title = "状态")
  private String state;

  /**
   * 创建时间
   */
  @TableField(value = "`create_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "创建时间")
  private java.util.Date createTime;

  /**
   * 创建人
   */
  @TableField(value = "`create_user`")
  @Schema(title = "创建人")
  private Long createUser;

  /**
   * 更新时间
   */
  @TableField(value = "`last_update_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "更新时间")
  private java.util.Date lastUpdateTime;

  /**
   * 更新人
   */
  @TableField(value = "`last_update_user`")
  @Schema(title = "更新人")
  private Long lastUpdateUser;

  /**
   * 删除标记
   */
  @TableField(value = "`del_flag`")
  @TableLogic
  @Schema(title = "删除标记")
  private Boolean delFlag;

  /**
   * 巡场人员
   */
  @TableField(value = "`patrol_personnel`")
  @Schema(title = "巡场人员")
  private String patrolPersonnel;

  /**
   * 巡场时间
   */
  @TableField(value = "`patrol_time`")
  @Schema(title = "巡场时间")
  private java.util.Date patrolTime;

  /**
   * 巡场拍照
   */
  @TableField(
    value = "`patrol_photography`",
    typeHandler = SysFileListTypeHandler.class
  )
  @Schema(title = "巡场拍照")
  private List<SysFile> patrolPhotography;

  /**
   * 备注
   */
  @TableField(value = "`remarks`")
  @Schema(title = "备注")
  private String remarks;

  /**
   * 良品率
   */
  @TableField(value = "`good_quantity`")
  @Schema(title = "良品率")
  private java.math.BigDecimal goodQuantity;

  /**
   * 进度
   */
  @TableField(value = "`schedule`")
  @Schema(title = "进度")
  private java.math.BigDecimal schedule;

  /**
   * 订单逾期次数
   */
  @TableField(value = "`order_overdue_number`")
  @Schema(title = "订单逾期次数")
  private Integer orderOverdueNumber;

  /**
   * 订单逾期天数
   */
  @TableField(value = "`order_overdue_days`")
  @Schema(title = "订单逾期天数")
  private Integer orderOverdueDays;
}
